A redundant array of independent disks (RAID) is a data storage virtualization technology, which combines a plurality of physical disk drives into a single logic unit for the purposes of data redundancy and/or performance improvement. Data may be distributed across a plurality of disks in one (e.g., RAID 5) of several ways (also referred to as RAID levels, including RAID 0, RAID 1, . . . , RAID 5, etc.), depending on the required level of redundancy and performance. Taking RAID 5 as an example, it may consist of block-level stripes with distributed parity. Upon failure of a single drive, subsequent reads can be calculated from the distributed parity such that no data is lost. Meanwhile, a hot spare disk will be selected to replace the failed disk and all data on the failed disk will be rebuilt and written to the hot spare disk. However, with emergence of new technologies (e.g., shingled media disks), disk capacity increases year by year, and the rebuilding time also increases accordingly. If the rebuilding time of the disk cannot be reduced, an increased risk of double disk failure will occur, which will lead to data loss. The rebuilding time of RAID 5 is subject to a write bandwidth of the hot spare disk, which has become a bottleneck for traditional RAID technologies.
The problems above may be solved by introducing mapped RAID technology. The mapped RAID may consist of more disks than the traditional RAID 5. While creating a RAID stripe, several disk extends may be randomly selected from a plurality of disks, such that data and parity information will be finally distributed among all of the disks. Upon failure of one disk, each disk extent on the failed disk may be replaced by a disk extent randomly selected from another disk. Therefore, with this technology, all of the disks will be involved in the rebuilding process. Because there is no single hot spare disk and the writing of a plurality of disk extents can be executed in parallel, the entire rebuilding time will be reduced.
However, the approach of extending a traditional RAID to a mapped RAID by increasing the number of disks possibly affects its reliability (e.g., increasing the probability of data loss). In the prior art (e.g., as disclosed in IEEE Transactions on Computers, 1996, 45(3): 367-373, Analytic Modeling of Clustered RAID with Mapping Based on Nearly Random Permutation), an approach of accurate data modeling may be employed to predict various actual performances of the mapped RAID. However, it could be rather complicated to build such an arithmetic model, and it possibly cannot fully and truly reflect a specific construction of the mapped RAID. Therefore, an efficient solution is desired in the art to determine a reliability relationship between a traditional RAID and a mapped RAID so as to ensure that compared with the traditional RAID, the reliability of the mapped RAID will not be degraded.